package com.dd.cloud.user.entity.pres;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.Table;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * @author zk
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Table(comment = "大森林处方详细信息表")
public class PresDslDetail {
    /**
     * 处方编码 患者处方表
     */
    @TableId(value = "tencode", type = IdType.INPUT)
    @Column(isKey = true)
    private String tencode;

    /**
     * 支付类型
     */
    @Column(type = MySqlTypeConstant.TINYINT, comment = "支付类型：1已支付,2货到付款")
    private Integer payStatus;

    /**
     * 医院缴费时间
     */
    @Column(length = 20, comment = "医院缴费时间，格式：yyyy-MM-dd HH:mm:ss")
    private String chargingTime;

    /**
     * 患者姓名 必填
     */
    @Column(length = 50, comment = "患者唯一标识")
    private String patientId;

    /**
     * 患者姓名
     */
    @Column(length = 20, comment = "患者姓名")
    private String patientName;

    /**
     * 性别 必填
     * 0 男 1女
     */
    @Column(length = 4, comment = "性别")
    private Integer sex;

    /**
     * 年龄 必填
     * 传入字符串，数字请传入大
     * 于 0 小于 130 的数字
     */
    @Column(length = 50, comment = "年龄")
    private String age;

    /**
     * 收货人姓名
     */
    @Column(length = 20, comment = "收货人姓名")
    private String consigneeName;

    /**
     * 收货人电话(只接收一个收货电话)
     */
    @Column(length = 20, comment = "收货人电话(只接收一个收货电话)")
    private String consigneePhone;

    /**
     * 收货人省份
     */
    @Column(length = 20, comment = "收货人省份")
    private String consigneeProvince;

    /**
     * 收货人城市
     */
    @Column(length = 20, comment = "收货人城市")
    private String consigneeCity;

    /**
     * 收货人区县
     */
    @Column(length = 20, comment = "收货人区县")
    private String consigneeRegion;

    /**
     * 收货人详细地址
     */
    @Column(length = 50, comment = "收货人详细地址")
    private String consigneeDetailAddress;

    /**
     * 是否送医院 0是,1否
     */
    @Column(type = MySqlTypeConstant.TINYINT, comment = "是否送医院 0是,1否")
    private Integer isSendHos;

    /**
     * 审核回调url(第三方平台使用)
     */
    @Column(length = 50, comment = "审核回调url(第三方平台使用)")
    private String checkCallbackUrl;

    /**
     * 用于推送物流公司名称及运单号
     */
    @Column(length = 50, comment = "用于推送物流公司名称及运单号")
    private String expressUrlCallback;

    /**
     * 延迟配送日期，格式：yyyy-MM-dd
     */
    @Column(length = 20, comment = "延迟配送日期，格式：yyyy-MM-dd")
    private String delaySendDate;

    /**
     * 患者电话
     */
    @Column(length = 20, comment = "患者电话")
    private String patientTel;

    /**
     * 处方单价
     */
    @Column(comment = "处方单价,精度2位")
    private Double recipelUnitPrice;

    /**
     * 处方备注
     */
    @Column(length = 50, comment = "处方备注")
    private String recipelRemark;

    /**
     * 翻煎 1单煎 2 翻煎
     */
    @Column(type = MySqlTypeConstant.TINYINT, comment = "翻煎 1单煎 2 翻煎")
    private Integer isPanFry;

    /**
     * 医生姓名 不必填
     */
    @Column(length = 20, comment = "医生姓名")
    private String doctor;

    /**
     * 医生所属科室 不必填
     */
    @Column(length = 20, comment = "医生所属科室")
    private String doctorOrgans;

    /**
     * 医生电话 不必填
     */
    @Column(length = 50, comment = "医生电话")
    private String doctorTel;

    /**
     * 是否孕妇0是 1非
     */
    @Column(type = MySqlTypeConstant.TINYINT, comment = "是否孕妇0是 1非")
    private Integer isPregnant;

    /**
     * 诊断
     */
    @Column(length = 200, comment = "诊断")
    private String recipelInstru;

    /**
     * 床号 非必填
     */
    @Column(length = 20, comment = "床号")
    private String bedNo;

    /**
     * 科室
     */
    @Column(length = 20, comment = "科室")
    private String department;

    /**
     * 住院号 非必填
     */
    @Column(length = 20, comment = "住院号")
    private String inpatientNumber;

    /**
     * 病区号 非必填
     */
    @Column(length = 20, comment = "病区号")
    private String diseaseAreaCode;

    /**
     * 处方类型
     * zy01 饮片
     * zy02 代煎
     * xy01 西药
     * gf01 膏方
     */
    @Column(length = 10, comment = "处方类型")
    private String recipelType;

    /**
     * 用药方法
     * 水煎服; 水煎内服; 中药贴敷; 水煎外洗
     */
    @Column(length = 10, comment = "水煎服; 水煎内服; 中药贴敷; 水煎外洗")
    private String medicationMethod;

    /**
     * 用药指导
     */
    @Column(length = 200, comment = "用药指导")
    private String medicationInstruction;

    /**
     * 0 其他,1门诊,2住院
     */
    @Column(type = MySqlTypeConstant.TINYINT, comment = "0 其他,1门诊,2住院")
    private Integer isHos;

    /**
     * 每剂打包贴数
     */
    @Column(type = MySqlTypeConstant.TINYINT, comment = "每剂打包贴数")
    private Integer perPackNum;

    /**
     * 每剂打包的包装量单位毫升
     */
    @Column(comment = "每剂打包的包装量单位毫升")
    private Integer perPackDose;

    /**
     * 患者身份证
     */
    @Column(length = 30, comment = "患者身份证")
    private String idNumber;

    /**
     * 机构审方药师
     */
    @Column(length = 20, comment = "机构审方药师")
    private String checkDoctor;

    /**
     * 药房返回的订单编号
     */
    @Column(length = 60, comment = "药房返回的订单编号")
    private String orderNO;

    /**
     * 创建时间
     */
    @Column(comment = "创建时间")
    private LocalDateTime createDate;
}
